1. Field of the Invention
The present invention generally relates to digital data processing systems, and more particularly, to such systems that allow recoverable messages to be safely used when a common database is being updated by multiple hosts.
2. Description of the Prior Art
Data processing systems are often used in the prior art to perform high volume transaction processing operations. These operations typically include database and message recovery operations in multiple host system environments. Transaction programs may reside on one or more hosts. The transaction program may retrieve or process source input messages, including messages created by a user, another application program, etc. The transaction programs may also create one or more destination output messages. These output messages may be transmitted to a user, or provided as input messages to other transactions.
Often, one or more users may be coupled to a given host, where a message system resident on each of the hosts manages the storage and retrieval of the input and output messages for the corresponding host. Messages sent by the users are often retained by the message system of the corresponding host. The message system then controls the storage of message text in file space which has been allocated to store the messages. The allocated file space is often resident on a disc drive storage device which is coupled to each of the hosts.
Input messages sent from the user are passed to the corresponding message system resident on the corresponding host. Once the message system has saved the message, the message is held until an appropriate application is available to read and process the message. When available, the application calls the message system and processes the message. Output messages created by the application are also passed to the corresponding message system before being transferred to an intended user. Once the transaction program has completed processing the input message, or once the output message has been sent to the user, the message system releases the message file space for reuse.
In the prior art, each message system on each host typically keeps track of the allocated file space for messages received by the corresponding host. Thus, if a particular host experienced a failure, a user that has submitted a transaction to the host must wait for the host to recover before the transaction can be completed. In high volume transaction processing, a user often cannot wait for the failed host to recover. For example, if the user accessed the failed host through an automatic teller machine, it would be inappropriate to wait for the host to recover before successfully completing the transaction. Since the messages managed by the failed host are not generally accessible by other hosts, the user generally cannot complete the transaction until that host is restored.